Smart Browsing Providers

ABSTRACT

A web browser program is for execution by a client computer connectable to a plurality of server computers via a computer network. The web browser program automatically reconfigures chrome of a user interface to the web browser program to provide a user access to any one of a plurality of groups of related information. A content display program module is configured to receive content data from a current server computer that is one of the plurality of server computers. The content display program module causes a display, on a content portion of the a display of the client computer, that corresponds to the content data. A chrome display program module is configured to cause a display of chrome on a chrome portion of the client computer display that corresponds to chrome specifiers in a chrome configuration database.

The present application is a continuation application of U.S. patentapplication Ser. No. 12/023,352, filed on Jan. 31, 2008, and is acontinuation of U.S. patent application Ser. No. 09/208,805, filed Dec.9, 1998, now issued as U.S. Pat. No. 7,328,405. Each of theaforementioned patent(s) and application(s) are hereby incorporated byreference in their entirety.

TECHNICAL FIELD

The present invention relates to providing “related information” tousers as they browse the world wide web and, in particular, to givingsuch users “related information” from a variety of different sources,where a designation of the particular sources is dynamicallyreconfigurable.

BACKGROUND

The internet (also known as the “world wide web”, or simply “the web”)is a vast global computer network that has lately become exceedinglypopular. A typical user of the internet accesses “web pages” via abrowser program executing on that user's computer—a “client computer”—bytyping the address of the web page into a location area of the browser'suser interface. Web page addresses are in the form of universal resourcelocators, or URL's. For example, the web page of Netscape CommunicationsCorporation may be accessed by the user typing in the URL for theNetscape website into the location area of the browser's user interface.A major drawback of the internet is that untrustworthy information issometimes (and very easily) published via the interne, and users have noquick and reliable way to distinguish trustworthy information fromuntrustworthy information.

One way to determine the reliability of information on one site of theinternet is to view other “related” sites to see what these other sitessay about the same subject matter. Alexa Internet of San Francisco,Calif., provides a software product that integrates with a browser topresent such related information to the user. The Alexa software productdetermines which sites to list as related information by performing linkand text analysis of a large number of web pages to determinesimilarities between a page being viewed and other pages; by studyingpatterns of web use; and from user suggestions. A significantdisadvantage of the Alexa approach is that, once a browser is initiallyconfigured to interact with the Alexa service, the user only enjoys onepoint of view, that determined by Alexa Internet, as to what is relatedinformation.

What is desired is a browser that allows a user to easily enjoy multiplecompeting points of view as to what is “related information”.Furthermore, it is desired that whether the browser presents one ormultiple points of view, that the user can easily choose which point(s)of view are presented.

SUMMARY

A web browser program is for execution by a client computer connectableto a plurality of server computers via a computer network. In general,the web browser program automatically reconfigures chrome of a userinterface to the web browser program to provide a user access to any oneof a plurality of groups of related information.

A content display program receives content data from a current servercomputer that is one of the plurality of server computers. The contentdisplay program displays, on a content portion of the display of theclient computer, that corresponds to the content data.

A chrome display program displays chrome, on a chrome portion of theclient computer display, that corresponds to chrome specifiers in achrome configuration database.

A current site communication program provides an indication of thecurrent server computer to a plurality of “related information” serversindicated by a “related information” servers indication. This indicationmay be, for example, a “universal resource locator” or keywords used bythe browser program to index to a site to display.

A chrome configuration processing program receives from the plurality of“related information” servers, “related information” designators. These“related information” designators are provided to the client computerbased on the indication of the current server computer. The chromeconfiguration processing program provides the “related information”designators as chrome specifiers in the chrome configuration database.As a result, the chrome display program displays the “related site”designators as part of the chrome.

A “related information” servers indication receiving program receivesthe “related information” servers indication from at least one of theplurality of server computers such that the “related information”servers indication is dynamically reconfigurable.

By providing “related information” from multiple sites, multiplecompeting points of view can be provided to the user. Furthermore, bymaking the definition of the sites that provide the “relatedinformation” dynamically reconfigurable, the reliability of the “relatedinformation” provided is further enhanced.

BRIEF DESCRIPTION OF FIGURES

FIG. 1 illustrates, in a very basic form, the topology of a computernetwork, such as the internet.

FIG. 2 illustrates a browser display, including a content portion and achrome portion.

FIG. 3 illustrates, in block form, a browser program configured to causethe display of the content portion and the chrome portion, and forhandling a user interface to the chrome portion. FIG. 3 furtherillustrates how the browser is configured to display, as part of thechrome portion of the display, “related information” that is related tocontent currently being displayed in the content portion of the display,and how an indication of the servers providing the “related information”is dynamically configurable.

DETAILED DESCRIPTION

In accordance with an embodiment of the present invention, a browserprogram is configured to execute on a client computer. Referring to FIG.1, the client computer 104 is connected to a network 102 (e.g., theinternet) and is configured to receive data from a server computer 106that is also connected to the network 102. Reference is now made toFIGS. 2 and 3 in addition to FIG. 1. In operation, the browser program300 includes a content display program 302 that operates on HTML(hypertext markup language) data received from the server computer 106via the network 102 to cause content to be displayed on a contentportion 202 of a browser window 200 on the display of the clientcomputer 104.

In addition, the browser program 300 also includes a chrome display andaction program 304 that causes chrome to be displayed on a chromeportion 204 of the display of the client computer 104. The chromedisplay and action program 304 also processes actions based on userinput to the chrome portion 204 of the display of the client computer104. Both the chrome display and chrome action processing is responsiveto the contents of a chrome configuration database 306.

Specifically, the chrome configuration database 306 includes chromespecification records (designated in FIG. 3 by the reference numeral308) containing chrome specifiers that specify both the appearance ofeach portion of the chrome and the behavior associated with activationof that portion of the chrome. Activation may occur in one of a numberof ways, such as “clicking” on the portion, pulling down a menu from theportion (where the appearance and behavior of the menu pulled down isalso in the chrome specification records), or even moving a cursoracross the portion. In one embodiment, the behavior is specified as aJavaScript file that, when. executed, performs the behavior.

The chrome specification information may originate either from theserver computer 106, or may be based on user actions. In one embodiment,chrome specification information that originates from the servercomputer 106 is in the form of Resource Description Framework (RDF)language. RDF is a schema being considered, but not yet adopted, by theWorld Wide Web Consortium. (W3C) to model web resources and theirinterrelationships. At the time of filing this patent application, RDFis only defined in “working draft” form. A copy of the latest workingdraft, dated Aug. 14, 1998, is available via the world wide web atw3.org/TR1998/WD-rdf-schema.19980814, and is hereby incorporated byreference in its entirety. The newest version is always available atw3.org/TR/WD-rdf-schema. If the chrome specification informationoriginates from the server computer 106, then it is processed by achrome configuration process 310 and the records 308 of the chromeconfiguration database 306 are modified accordingly. By contrast, if thechrome specification information originates from user actions, then itis processed by a user-defined chrome process 312. User actions tospecify chrome, at least in some limited fashion, is known in the art.For example, the Communicator 4.0 browser of Netscape CommunicationsCorporation allows for manipulating a tree structure of bookmarks, by,for example, dragging a link into a personal toolbar folder to cause thebrowser to display the links on a personal toolbar portion of thebrowser's chrome. See Official Netscape Communication 4 ProfessionalEdition Book, by Phil James and Tara Calishain (Ventana CommunicationsGroup 1997). By contrast to Netscape Communicator 4.0, however, in thedescribed embodiment, user actions would be manipulating arepresentation of the chrome specification records 308 in the chromeconfiguration database 306. Either or both of the processes 310, 312 maybe employed to modify the records 308 of the chrome configurationdatabase 306.

The operation of the browser program 300 is now discussed in greaterdetail relative to the chrome configuration. In one embodiment, thebrowser program 300 is configured such that, upon installation,connection is automatically made to a default “chrome provider” servercomputer that is one of the server computers 106. For example, if thebrowser program 300 is one provided by Netscape CommunicationsCorporation, then connection would be automatically made to a “chromeprovider” web server controlled by Netscape Communications Corporation.In one embodiment, the “chrome provider” web site (or server—these termsare used interchangeably) attains knowledge of the user's demographics(e.g., by asking or from identification information available to iteither from registration or on the client computer 104) and provides aparticular chrome specification that corresponds to those demographics.For example, a particular chrome specification may be provided thatcorresponds to a language that the user understands. As another example,the demographic may be determined from information stored on the servercomputer 106 corresponding to the user, such as a record of buyingbehavior of a user at an online shopping site.

In addition, other content providers may take advantage of the chromeconfiguration feature of the browser program 300 such that, when aclient computer 104 executing the browser program 300 connects to theserver computer 106 providing that content, the server 106 provides achrome specification that corresponds to that content. For example, astock information web site may be configured such that its server 106provides a particular chrome specification to a client computer 104corresponding to stock information. As one specific illustrativeexample, the server computer 106 may provide chrome specification that,when processed and loaded into a record 308 of the chrome configurationdatabase 306, results in a “$”-shaped button being generated in thechrome portion 204 of the browser display window 200. As discussedabove, the chrome specification for the “$”-shaped button received fromthe server 106 may also have associated with it particular behavior thatwould result when a user activates the “$”-shaped button.

In a further embodiment, the chrome provider is a “related information”provider. In accordance with this further embodiment, a “relatedinformation” server indication database 307 is provided (either at theclient computer 104 as shown in FIG. 3 or at one of the server computers106). For content displayed on the content portion 202 of the browserwindow 200, the browser (see block 309 in FIG. 3) provides an indicationof that content to the “related information” servers indicated in the“related information” database 307. In response to the contentindication provided by the browser program 300, software executing onthe “related information” servers provides “related information” back tothe browser 300 for the chrome configuration process 310 to store intothe chrome configuration database 306 as chrome specifiers. As a resultof the chrome configuration database 306 including the “relatedinformation” as chrome specifiers, the chrome display and action program304 causes the “related information” to be displayed as a part of thechrome portion 204.

One example of the “content indication” includes the URL of the site forwhich content is being displayed in the content portion 202. Anotherexample of the “content indication” includes keywords entered by a userto a “smart keywords” feature of the browser 300, where the “smartkeywords” feature is utilized by the browser to obtain a URL. Examplesof the “related information” include, but are not limited to, reviews ofthe web site, other web sites (i.e., links thereto) that have content onrelated topics, reviews of the web site, or other types of informationas provided, for example, by the Alexa Internet product discussed above.Significantly, by providing “related information” from multiple sites,multiple competing points of view can be provided to the user.

The send module 309 may also provide an indication to the “relatedinformation” servers of a demographic of the user. This demographicindication may be determined, for example, from a cookie file on theclient computer 104 or from identity preference information defined bythe user and stored on the client computer, e.g. during installation andsetup of the browser program 100 on the client computer 104. The“related information” server computer 106 may then use the demographicinformation to provide “related information” that is focused to thatparticular user. In some cases, the demographic information sent by thesend module 309 may consist only of identity information, and the“related information” server includes functionality to match theidentify information to demographic information accessible by the servercomputer 106. For example, the server computer 106 may be a web retailsite from which the user has previously made purchases of which the webretail site has a record. In fact, the web retail site (or other sites)may provide to the client computer 104 (specifically, the “relatedinformation” server database 307) an indication of itself as a “relatedinformation” server in a mariner similar to that discussed above withrespect to chrome configuration specifiers.

Furthermore, in preferred embodiments, the “related information” serverindication database is dynamically reconfigurable in order to furtherenhance the reliability of the points of view provided. (This is sowhether “related information” is being received from just one, or frommore than one, “related information” server.) That is, in a mannersimilar to the manner in which the chrome is dynamically reconfigured,the “related information” server indications are also dynamicallyreconfigurable. For example, as discussed above relative to chromespecifiers, the “related information” server indications may be providedto the “related information” server indication database by downloadingan RDF file from a server computer (which may or may not be one of the“related information” servers) 106, wherein the chrome configurationprogram module 310 (or another program module provided expressly forthis purpose) processes the downloaded RDF file to populate the “relatedinformation” server indication database 307.

It is intended that the following claims define the scope of theinvention and that methods and apparatus within the scope of theseclaims and their equivalents be covered thereby.

Attached hereto as Appendix A is an engineering specification entitled“Configurable Chrome (Cthulhu)” which is to be considered an integralpart of this specification.

Attached hereto as Appendix B is portions (sixty one modules) of browsersource code to implement modifiable chrome.

Attached hereto as Appendix C is source code to implement the 10 relatedinformation provider feature.

Appendices A, B, and C were submitted with U.S. patent application Ser.No. 09/208,805, filed Dec. 9, 1998, and are incorporated by reference inthis application in their entirety.

1.-11. (canceled)
 12. A method comprising: sending a request for contentto a server; receiving the content from the server; enabling display ofthe content in a user interface, the user interface including a firstchrome portion and a second chrome portion; automatically reconfiguringthe first chrome portion of the user interface to include informationrelated to the content displayed in the user interface; and using adefault chrome configuration for the second chrome portion.
 13. A methodcomprising: sending a request for content to a server; receiving thecontent from the server; enabling display of the content in a userinterface, the user interface including a chrome portion; automaticallyreconfiguring the chrome portion of the user interface to include acontrol element related to the content; and leaving one or more controlelements in the chrome portion irrespective of the content displayed inthe user interface.